编辑模式 ↔ 一般模式 ↔ 命令行模式 一般模式与另外两种可以相互切换,另外两种之间无法直接切换 一般模式→编辑模式:i I a A o O r R i 光标在当前位置编辑 I 行首编辑 a 光标的下一个字符处编辑 A 行尾编辑 o 当前行的下一行开始编辑 O 上一行开始编辑 r 对当前字符进行替换 R 对光标处之后的本行字符替换 编辑模式→一般模式: [ESC] 一般模式→命令行模式: : / ? 命令行模式→一般模式: [ESC]
一般模式下光标移动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
j 向下一行 k 向上一行 h 向左一个字符 l 向右一个 3j 向下3行 20l 向右20个字符 20[space] 向右20个字符,与上
ctrl+f 向下一页 ctrl+b 向上一页
0或^或[end] 到本行第一个字符处 $或[home] 到本行最后一个字符
G 到最后一行 30G 到第30行 gg 到第一行 n[enter] 向下n行
一般模式下查找替换
1 2 3 4 5 6 7
/word 向下寻找名为word的单词 ?word 向上寻找名为word的单词 n 重复前一个查找动作,向下查找 N 重复前一个查找动作,向上查找 :n1,n2s/word1/word2/g n1行与n2行之间查找word1,替换为word2 :1,$s/word1/word2/g 1到最后一行... :1,$s/word1/word2/gc 提示用户对每一个替换进行确认